﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using clBUS;
using clEntidad;
using Microsoft.Win32;
/*
 * 2013-06-06 Se debe agregar el campo res_foto number(2) a la tabla opciones
 */ 
namespace portero_
{
    public partial class frmConfig : Form
    {
        public frmConfig()
        {
            InitializeComponent();
        }

        private void frmConfig_Load(object sender, EventArgs e)
        {
            cargar();
        }
        private void cargar()
        {
            BUSOpciones objBUS = new BUSOpciones(Constantes.CADENA_BD);
            Opciones opciones = objBUS.getAll();
            chbFoto.Checked = opciones.fotoObligatorio;
            trbImg.Value = opciones.resolucionFoto/5; 

            BUSLocal objBUSL = new BUSLocal(Constantes.CADENA_BD);
            List<Local> locales = objBUSL.getAll();
            cbLocal.Items.Clear();
            int idLocal = 0;
            if (Constantes.LOCAL != null)
                idLocal = Constantes.LOCAL.id;

            foreach (Local elem in locales)
            {
                cbLocal.Items.Add(elem);
                if (elem.id == idLocal)
                {
                    cbLocal.SelectedItem = elem;
                }
            }

        }

        private void tsbSalir_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void tsbSave_Click(object sender, EventArgs e)
        {
            int idLocal=0;
            if (cbLocal.SelectedItem == null)
            {
                MessageBox.Show("Debe seleccionar local", Constantes.cNOMBRE_SIS, MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            else
            {
                Local local = (Local)cbLocal.SelectedItem;
                idLocal = local.id;
            }
            if (MessageBox.Show("¿Desea grabar los cambios?", Constantes.cNOMBRE_SIS , MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                BUSOpciones objBUS = new BUSOpciones(Constantes.CADENA_BD);
                Opciones opciones = new Opciones();
                opciones.fotoObligatorio = chbFoto.Checked;
                opciones.resolucionFoto = trbImg.Value * 5;

                RegistryKey key = Registry.CurrentUser.OpenSubKey(Constantes.REG_KEY, true);
                if (key == null)
                {
                    key = Registry.CurrentUser.CreateSubKey(Constantes.REG_KEY);
                }
                key.SetValue("Local", idLocal.ToString());

                BUSLocal objBUSL = new BUSLocal(Constantes.CADENA_BD);
                Constantes.LOCAL = objBUSL.get(int.Parse(idLocal.ToString()));

                objBUS.saveAll(opciones);
                MessageBox.Show("Los cambios se aplicaron correctamente", Constantes.cNOMBRE_SIS, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }

        private void btAddLoc_Click(object sender, EventArgs e)
        {
            Local elemSel = (Local)cbLocal.SelectedItem;
        }

        private void trbImg_ValueChanged(object sender, EventArgs e)
        {
            lbRes.Text = (trbImg.Value*5).ToString();
        }
    }
}
